/**
 * JS 连接 USB 串口, 注意此功能仅在 HTTPS 下才能使用，
 * 更多请查看：https://developer.mozilla.org/en-US/docs/Web/API/USB/requestDevice 。
 * @param {*} vid vendorId
 * @param {*} pid productId
 */
export function usb (vid, pid) {
    if (navigator.usb) {
        navigator.usb.requestDevice({ filters: [{ vendorId: vid, productId: pid }] })
        .then(device => {
            console.log(device.manufacturerName); //设备制造商名称 
            console.log(device.productName); //设备产品名称 
            console.log(device.serialNumber); //设备序列号 
            return device.open(); //打开设备连接 
        })
        .then(connection => connection.claimInterface(0))
        .then(interface0 => {
            //监听接口0的数据传输 
            interface0.endpointIn.addEventListener("transfer", event => { 
                console.log(new TextDecoder().decode(event.data)); //解码数据并打印到控制台 
            });
            return interface0.endpointOut.transfer("命令字节");
        })
        .catch(error => console.log(error));
    }
} 
